Xbasic

RUN_MINIMUM Function

Syntax

Running_Minimum_Value as A = run_minimum(A subexpr[,G over[,G each])

Arguments

subexpr

Any valid expression that includes a field or a combination of fields from the current table or set that specifies what you want to examine. Any type

over

Optional. When to use the function (instead of on every record).

each
GRAND (all records)
The name of the current table
The name of a table in the current set
The name of a grouping level that is defined in a report layout
DETAIL (over the records in the detail section)

Description

Get the running minimum of subexpression over group 'over' sampled each group 'each'

Discussion

RUN_MINIMUM() is used in the Detail section of a report to return the running minimum of the Expression evaluated from the first record to the current record related to the group. The expression is evaluated from the sub-group's first record to the current record; the resulting values are added together and the average value is returned. For example, to summarize the line-items in an invoice set, the Group parameter might be GRP ->INV_HEAD and the Sub_Group parameter GRP >INV_ITEM. This means the Summary operation includes only those child records in INV_ITEM related to the current parent record in the INV_HEAD table. To summarize all the records in a table or set, use the name GRAND as the Group name. The Group GRP ->GRAND and Sub_Group GRP ->INV_ITEM produce a summary result based on all invoices. This function is a report writer function, not intended for table level field rules or other expressions. While the function may perform in some areas outside of the report writer, its use there is not supported.

Assume that an invoicing set consists of two tables. One holds the invoices ( INVOICE ), and the other holds each invoice's line-items ( INV_ITEM ):

INVOICE
Description
INV_NO
CUST_ID and INV_TOTAL
I100

C001 10.00

I101

C003 25.50

I102

C001 100.75

I103

C004 32.50

I104

C002 110.25

I105

C005 98.35

INV_ITEM
Description
INV_NO
AMOUNT
I100

4.50

I100

5.50

I101

25.50

I102

3.25

I102

35.25

I102

62.25

I103

32.50

I104

110.25

I105

98.35

INVOICE is related to INV_ITEM through a one-to-many link on the INV_NO field. To find the running minimum of line-item records, use the following expressions:

run_minimum(INV_ITEM->AMOUNT) -> 4.50, if the current INV_NO is "I101"
run_minimum(INV_ITEM->AMOUNT) -> 3.25, if the current INV_NO is "I103"

Limitations

This function is a report writer function, not intended for table level field rules or other expressions.

See Also